<html>
<head><meta charset="utf-8"><title>promote aarch64 to tier1 rust-lang/rfcs#2959 · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html">promote aarch64 to tier1 rust-lang/rfcs#2959</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="211166573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211166573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211166573">(Sep 24 2020 at 17:49)</a>:</h4>
<p>Hey <span class="user-mention" data-user-id="119009">@eddyb</span> <span class="user-mention" data-user-id="119031">@Esteban Küber</span> <span class="user-mention" data-user-id="123586">@nagisa</span> <span class="user-mention" data-user-id="123856">@Vadim Petrochenkov</span> <span class="user-mention" data-user-id="116083">@pnkfelix</span> -- Gentle reminder about the pending RFC (<a href="https://github.com/rust-lang/rfcs/issues/2959">rust-lang/rfcs#2959</a>)  to promote aarch64 to tier1. Our job is to certify that the Tier1 target requirements are met. The RFC itself <a href="https://github.com/raw-bin/rfcs/blob/promote-aarch64-unknown-linux-gnu-to-tier-1/text/0000-promote-aarch64-unknown-linux-gnu-to-tier1.md#guide-level-explanation">lays out criteria here</a>, for reference.</p>



<a name="211194050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211194050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211194050">(Sep 24 2020 at 21:50)</a>:</h4>
<p>I think it is critical that we figure out whether we want stack probes to happen before we formally change the tier level of the target or if its fine that happens afterwards.</p>



<a name="211194092"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211194092" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211194092">(Sep 24 2020 at 21:50)</a>:</h4>
<p>I personally think, given that it should be possible to just add a function for probing <a href="https://github.com/rust-lang/compiler-builtins/blob/master/src/probestack.rs">here</a>, we should require probes before promotion.</p>



<a name="211194175"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211194175" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211194175">(Sep 24 2020 at 21:52)</a>:</h4>
<p>I intend to spend some time this weekend to try and triple check its actually possible fwiw</p>



<a name="211194191"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211194191" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211194191">(Sep 24 2020 at 21:52)</a>:</h4>
<p>Doesn't it still need target-specific LLVM support?</p>



<a name="211194349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211194349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211194349">(Sep 24 2020 at 21:54)</a>:</h4>
<p>langref does not suggest anything of the sort, implementation however does.</p>



<a name="211194408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211194408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211194408">(Sep 24 2020 at 21:55)</a>:</h4>
<p>if we do end up promoting the target to T1 without stack probes, I think a I-unsound P-high+ issue should be filled against the target.</p>



<a name="211280528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211280528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211280528">(Sep 25 2020 at 16:25)</a>:</h4>
<p><span class="user-mention" data-user-id="123586">@nagisa</span> do all tier 1 targets have it? I'd be ok with filing an issue, regardless</p>



<a name="211281038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211281038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211281038">(Sep 25 2020 at 16:29)</a>:</h4>
<p>yes.</p>



<a name="211295564"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211295564" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211295564">(Sep 25 2020 at 18:27)</a>:</h4>
<p><span class="user-mention" data-user-id="123586">@nagisa</span> I think filing a ticket is the right thing</p>



<a name="211300044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211300044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211300044">(Sep 25 2020 at 19:01)</a>:</h4>
<p>fair. what should our policy be for future T1 targets? Do we want to call out stack probes in particular or previously known soundness holes in general in our list of requirements in any way?</p>



<a name="211338086"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211338086" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211338086">(Sep 26 2020 at 02:47)</a>:</h4>
<p>The <a href="https://doc.rust-lang.org/nightly/rustc/platform-support.html#tier-1">Tier 1 description</a> on the Platform Support page says that tests pass, and that new changes are predicated on tests passing, but it doesn't actually say "absolutely for sure free of UB". And clearly it <em>shouldn't</em> try to say that because we can't assure that. Heck, you can actually kill off stackprobes from being inserted to your program on existing tier1 targets just by using <code>no_std</code>.</p>
<p>It's certainly "something to fix" and deserves an immediate P-high issue like you say, but shouldn't be a blocker.</p>



<a name="211345327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211345327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211345327">(Sep 26 2020 at 06:26)</a>:</h4>
<p>I think movement through tier1 and tier2  should probably <em>eventually</em> become predicated on work on typical soundness issues, though often it may be sufficient for a given _velocity_ to be observed. Like... are there no tests that validate stack probes exist and are working in appropriate builds? If there were, the tests would fail instantly and the tier1 policy would block further progress on Rust until that bug is fixed.</p>



<a name="211345562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211345562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211345562">(Sep 26 2020 at 06:34)</a>:</h4>
<p>I don't... think you can test that inside of rust.. right? You'd have to build a program and then examine the asm and then just know that a given sequence is doing what you expect it to be doing, and such a test would be arch-specific at best anyway because of differing assembly languages.</p>



<a name="211345572"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211345572" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211345572">(Sep 26 2020 at 06:35)</a>:</h4>
<p>...the test harness lets you run arbitary Makefiles. :^)</p>



<a name="211345650"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211345650" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211345650">(Sep 26 2020 at 06:37)</a>:</h4>
<p>sure but, this is a chicken and egg problem. we can't write a test that searches for correct stack probe assembly within the binary without already knowing what to look for, and if we had that we'd just put it into rustc in whatever location.</p>



<a name="211345929"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211345929" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211345929">(Sep 26 2020 at 06:45)</a>:</h4>
<p>That Is A Completely Reasonable Point, yes.</p>



<a name="211371425"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211371425" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211371425">(Sep 26 2020 at 17:50)</a>:</h4>
<p>codegen tests are sufficient to make sure we insert probes, correct operation of said probes is out of scope for such a test.</p>



<a name="211371458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211371458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211371458">(Sep 26 2020 at 17:51)</a>:</h4>
<p>and I personally on the side of _requiring_ certain features that are necessary to ensure soundness (note: very distinct from "free of UB") for T1.</p>



<a name="211371529"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211371529" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211371529">(Sep 26 2020 at 17:53)</a>:</h4>
<p>stack probes in particular are high-impact, comparatively, because they prevent seemingly non-malicious code from becoming a full blown vulnerability that could be used against users of the software, without anything invoking any UB.</p>



<a name="211371640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211371640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211371640">(Sep 26 2020 at 17:55)</a>:</h4>
<p>So IME the policy should include the list of functionalities that we know are almost universally necessary (unless similar result is achieved in some other manner)</p>



<a name="211687735"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211687735" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211687735">(Sep 29 2020 at 21:36)</a>:</h4>
<p>cc <span class="user-mention" data-user-id="239881">@Josh Triplett</span>  and <span class="user-mention" data-user-id="121055">@Pietro Albini</span> <span aria-label="point up" class="emoji emoji-1f446" role="img" title="point up">:point_up:</span></p>



<a name="211687803"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211687803" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211687803">(Sep 29 2020 at 21:36)</a>:</h4>
<p>I think my opinion is to prefer that the policy is that we have a filed issue</p>



<a name="211687817"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211687817" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211687817">(Sep 29 2020 at 21:36)</a>:</h4>
<p>but I do like the idea of calling out specific soundness features</p>



<a name="211687831"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211687831" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211687831">(Sep 29 2020 at 21:36)</a>:</h4>
<p>I'm trying to decide now if I'm being too cavalier :)</p>



<a name="211688312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211688312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211688312">(Sep 29 2020 at 21:41)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> My current draft of the target tier policy RFC (not yet pushed) includes this:<br>
+- The code generation backend for the target should not have deficiencies that</p>
<ul>
<li>invalidate Rust safety properties, as evaluated by the Rust compiler team.</li>
<li>For example, if Rust relies on a specific code generation feature to support</li>
<li>a memory safety property, the code generation for the target should support</li>
<li>that feature. If this requirement does not hold, the target must clearly and</li>
<li>prominently document any such limitations, such as via a footnote in the</li>
<li>target tier list, and the Rust compiler team must be satisfied with the</li>
<li>balance between these limitations and the difficulty of implementing the</li>
<li>necessary features.</li>
</ul>



<a name="211688523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211688523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211688523">(Sep 29 2020 at 21:43)</a>:</h4>
<p>I would be happy with that footnote caveat</p>



<a name="211688545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211688545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211688545">(Sep 29 2020 at 21:43)</a>:</h4>
<p>I'm wondering how to encode that</p>



<a name="211688702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211688702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211688702">(Sep 29 2020 at 21:44)</a>:</h4>
<p>like, how wrong would a test like this be?</p>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="cp">#[cfg(not(target_arch = </span><span class="s">"x86_64"</span><span class="cp">))]</span><span class="w"></span>
<span class="n">compiler_error</span><span class="o">!</span><span class="p">(</span><span class="s">"this platform does not support stack probes"</span><span class="p">);</span><span class="w"></span>
</code></pre></div>



<a name="211688738"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211688738" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211688738">(Sep 29 2020 at 21:45)</a>:</h4>
<p>Appearing where?</p>



<a name="211688757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211688757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211688757">(Sep 29 2020 at 21:45)</a>:</h4>
<p>in the compiler's test suite, with the blessed output of no errors</p>



<a name="211688774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211688774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211688774">(Sep 29 2020 at 21:45)</a>:</h4>
<p>As in,  the platform fails tests until fixed?</p>



<a name="211688779"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211688779" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211688779">(Sep 29 2020 at 21:45)</a>:</h4>
<p>yes</p>



<a name="211688798"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211688798" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211688798">(Sep 29 2020 at 21:45)</a>:</h4>
<p>detecting that is manual instead of automatic tho</p>



<a name="211688811"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211688811" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211688811">(Sep 29 2020 at 21:45)</a>:</h4>
<p>I'd be perfectly fine with that. I can change "such as via a footnote" to "such as via a failing test in the testsuite, and/or via a footnote ..."</p>



<a name="211689060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211689060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211689060">(Sep 29 2020 at 21:48)</a>:</h4>
<p>Just pushed a new version of the target tier RFC containing my current additions.</p>



<a name="211689179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211689179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211689179">(Sep 29 2020 at 21:49)</a>:</h4>
<p>I'll check it out tomorrow</p>



<a name="211689191"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211689191" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211689191">(Sep 29 2020 at 21:49)</a>:</h4>
<p>thanks <span aria-label="heart" class="emoji emoji-2764" role="img" title="heart">:heart:</span></p>



<a name="211693236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211693236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211693236">(Sep 29 2020 at 22:30)</a>:</h4>
<p>Wait isn't the point of tier1 that it passes all the tests?</p>



<a name="211747029"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/promote%20aarch64%20to%20tier1%20rust-lang/rfcs%232959/near/211747029" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959.html#211747029">(Sep 30 2020 at 11:38)</a>:</h4>
<p><span class="user-mention silent" data-user-id="224471">Lokathor</span> <a href="#narrow/stream/131828-t-compiler/topic/promote.20aarch64.20to.20tier1.20rust-lang.2Frfcs.232959/near/211693236">said</a>:</p>
<blockquote>
<p>Wait isn't the point of tier1 that it passes all the tests?</p>
</blockquote>
<p>There has to be more nuance than that. A test for <code>x86_86</code> assembly will always fails for <code>aarch64</code>. You can add some condition to prevent the test from running, but then does it "pass"?</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>